最近reactでnpm installするとこんな感じのエラーが表示されるので、対策をまとめました。
$ npm install @apollo/client graphql apollo-upload-client
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! Found: react@17.0.1
npm ERR! node_modules/react
npm ERR! react@"^17.0.1" from the root project
npm ERR! peerOptional react@"^16.8.0 || ^17.0.0" from @apollo/client@3.3.11
npm ERR! node_modules/@apollo/client
npm ERR! @apollo/client@"^3.3.8" from the root project
npm ERR! @apollo/client@"^3.2.5" from apollo-upload-client@14.1.3
npm ERR! node_modules/apollo-upload-client
npm ERR! apollo-upload-client@"*" from the root project
npm ERR! 19 more (@storybook/addon-actions, ...)
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.4" from react-inspector@5.1.0
npm ERR! node_modules/@storybook/addon-actions/node_modules/react-inspector
npm ERR! react-inspector@"^5.0.1" from @storybook/addon-actions@6.1.20
npm ERR! node_modules/@storybook/addon-actions
npm ERR! dev @storybook/addon-actions@"^6.1.18" from the root project
npm ERR! 1 more (@storybook/addon-essentials)
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! ~/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! ~/.npm/_logs/2021-03-13T01_36_31_206Z-debug.log
参考
https://stackoverflow.com/questions/64529958/error-when-trying-to-install-react-redux-dependency
対策
一時的な処置な気はするのですが(予想ですけど、なんらかのモジュールで対応されれば表示されなくなるはず)、このように --legacy-peer-deps
の引数をつけて実行すれば通りました。
新規インストールの場合
$ npm install @apollo/client graphql apollo-upload-client --legacy-peer-deps
npm install [ライブラリ名] --legacy-peer-deps
という書式になります。
package.jsonに記載されたライブラリをインストールする場合
$ npm install --legacy-peer-deps